package com.pai4j.message.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 消息聚合配置属性
 *
 * @author PAI4J Team
 * @date 2025-11-01
 */
@Data
@ConfigurationProperties(prefix = "pai4j.message.aggregation")
public class AggregationProperties {

    /**
     * 是否启用消息聚合
     */
    private boolean enabled = false;

    /**
     * 时间窗口（秒）
     */
    private int windowSeconds = 300; // 默认5分钟

    /**
     * 最小聚合数量
     */
    private int minCount = 2;

    /**
     * 最大聚合数量
     */
    private int maxCount = 100;

    /**
     * 聚合策略
     * 可选值：time-window, count-based
     */
    private String strategy = "time-window";

    /**
     * 是否自动触发
     */
    private boolean autoTrigger = true;

    /**
     * 定时触发间隔（秒）
     */
    private int triggerInterval = 60; // 默认1分钟
}

